3 research outputs found
A Query Language for Software Architecture Information (Extended version)
Software maintenance is an important part of a software system's life cycle.
Maintenance tasks of existing software systems suffer from architecture
information that is diverging over time (architectural drift). The Digital
Architecture Twin (DArT) can support software maintenance by providing
up-to-date architecture information. For this, the DArT gathers such
information and co-evolves with a software system, enabling continuous reverse
engineering. But the crucial link for stakeholders to retrieve this information
is missing. To fill this gap, we contribute the Architecture Information Query
Language (AIQL), which enables stakeholders to access up-to-date and tailored
architecture information. We derived four application scenarios in the context
of continuous reverse engineering. We showed that the AIQL provides the
required functionality to formulate queries for the application scenarios and
that the language scales for use with real-world software systems. In a user
study, stakeholders agreed that the language is easy to understand and assessed
its value to the specific stakeholder for the application scenarios
Eine Abfragesprache fĂĽr Architekturinformationen des Digitalen Architekturzwillings
The Digital Architecture Twin (DArT), a co-evolving architecture information model filled from heterogeneous architecture information sources, lacks the capabilities for stakeholders to interact with its consolidated architecture information. These capabilities enable practical use of up-to-date architecture information, which significantly reduces the maintenance cost of software systems. This work proposes an Architecture Information Query Language (AIQL) enabling users to query the DArT for such stakeholder tailored architecture information. A requirement analysis based on application scenarios of the DArT was conducted. Afterwards, the AIQL was designed and implemented according to the requirements and general design principles for Domain Specific Languages (DSLs). The AIQL’s design encourages reuse through composition of templates and supports to query information of different architecture views and levels of abstraction along with different versions of a system’s architecture over time. Its functionality and usability was illustratively evaluated using the application scenarios and metrics. The results show that the AIQL fully provides the required functionality, whilst suggesting good usability. We conclude that the proposed AIQL enables stakeholders to fully access required architecture information.Dem Digitalen Architekturzwilling (DArT), ein sich mitentwickelndes Modell für Software-Architekturinformationen aus heterogenen Informationsquellen, fehlt Funktionalität, um die gesammelten Daten abrufbar zu machen. Das Abrufen und Verwenden der aktuellen Architekturinformationen im DArT ermöglicht es, die Wartungskosten von Softwaresystemen erheblich zu reduzieren. Diese Arbeit schlägt eine Abfragesprache für Architekturinformationen (AIQL) vor, die es den Nutzern ermöglicht, Stakeholder-spezifische Architekturinformationen abzufragen. Es wurde eine Anforderungsanalyse anhand von Anwendungsszenarien des DArT durchgeführt. Anschließend wurde die AIQL entsprechend den Anforderungen und unter Beachtung von Gestaltungsprinzipien für domänenspezifische Sprachen (DSLs) konzipiert und umgesetzt. Das Design der AIQL ermöglicht Wiederverwendung durch Zusammensetzung von Teilabfragen und unterstützt die Abfrage von Informationen aus verschiedenen Architektursichten und Abstraktionsebenen und von verschiedenen Versionen der Systemarchitektur im Laufe der Zeit. Die Funktionalität und Benutzerfreundlichkeit wurde anhand von den obigen Anwendungsszenarien und Metriken bewertet. Die Ergebnisse zeigen, dass die Abfragesprache die geforderte Funktionalität vollständig bereitstellt und gleichzeitig eine gute Benutzerfreundlichkeit aufweist. Wir schlussfolgern, dass die vorgeschlagene AIQL den Stakeholdern umfänglichen Zugang zu den erforderlichen Architekturinformationen ermöglicht